home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_include / ASM-I386 / POSIX_TY.{1A < prev    next >
Text File  |  1999-09-17  |  2KB  |  74 lines

  1. #ifndef __ARCH_I386_POSIX_TYPES_H
  2. #define __ARCH_I386_POSIX_TYPES_H
  3.  
  4. /*
  5.  * This file is generally used by user-level software, so you need to
  6.  * be a little careful about namespace pollution etc.  Also, we cannot
  7.  * assume GCC is being used.
  8.  */
  9.  
  10. typedef unsigned short    __kernel_dev_t;
  11. typedef unsigned long    __kernel_ino_t;
  12. typedef unsigned short    __kernel_mode_t;
  13. typedef unsigned short    __kernel_nlink_t;
  14. typedef long        __kernel_off_t;
  15. typedef int        __kernel_pid_t;
  16. typedef unsigned short    __kernel_ipc_pid_t;
  17. typedef unsigned short    __kernel_uid_t;
  18. typedef unsigned short    __kernel_gid_t;
  19. typedef unsigned int    __kernel_size_t;
  20. typedef int        __kernel_ssize_t;
  21. typedef int        __kernel_ptrdiff_t;
  22. typedef long        __kernel_time_t;
  23. typedef long        __kernel_suseconds_t;
  24. typedef long        __kernel_clock_t;
  25. typedef int        __kernel_daddr_t;
  26. typedef char *        __kernel_caddr_t;
  27.  
  28. #ifdef __GNUC__
  29. typedef long long    __kernel_loff_t;
  30. #endif
  31.  
  32. typedef struct {
  33. #if defined(__KERNEL__) || defined(__USE_ALL)
  34.     int    val[2];
  35. #else /* !defined(__KERNEL__) && !defined(__USE_ALL) */
  36.     int    __val[2];
  37. #endif /* !defined(__KERNEL__) && !defined(__USE_ALL) */
  38. } __kernel_fsid_t;
  39.  
  40. #if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2)
  41.  
  42. #undef    __FD_SET
  43. #define __FD_SET(fd,fdsetp) \
  44.         __asm__ __volatile__("btsl %1,%0": \
  45.             "=m" (*(__kernel_fd_set *) (fdsetp)):"r" ((int) (fd)))
  46.  
  47. #undef    __FD_CLR
  48. #define __FD_CLR(fd,fdsetp) \
  49.         __asm__ __volatile__("btrl %1,%0": \
  50.             "=m" (*(__kernel_fd_set *) (fdsetp)):"r" ((int) (fd)))
  51.  
  52. #undef    __FD_ISSET
  53. #define __FD_ISSET(fd,fdsetp) (__extension__ ({ \
  54.         unsigned char __result; \
  55.         __asm__ __volatile__("btl %1,%2 ; setb %0" \
  56.             :"=q" (__result) :"r" ((int) (fd)), \
  57.             "m" (*(__kernel_fd_set *) (fdsetp))); \
  58.         __result; }))
  59.  
  60. #undef    __FD_ZERO
  61. #define __FD_ZERO(fdsetp) \
  62. do { \
  63.     int __d0, __d1; \
  64.     __asm__ __volatile__("cld ; rep ; stosl" \
  65.             :"=m" (*(__kernel_fd_set *) (fdsetp)), \
  66.               "=&c" (__d0), "=&D" (__d1) \
  67.             :"a" (0), "1" (__FDSET_LONGS), \
  68.             "2" ((__kernel_fd_set *) (fdsetp)) : "memory"); \
  69. } while (0)
  70.  
  71. #endif /* defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2) */
  72.  
  73. #endif
  74.